﻿// 1411. 二五.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://www.acwing.com/problem/content/1413/


为了教小牛们字母表中字母的顺序，贝茜想出了一个与它们一起玩的游戏。

给小牛们一个 5×5 的方格矩阵，它们可以在这上面放入字母 A∼Y。

唯一的规则是当我们从左到右读取任意一行字母或从上到下读取任意一列字母时，这些字母都必须是按照它们在字母表中出现的顺序排列的。

由于存在大量满足条件的字母矩阵，贝茜决定用字母字符串给每一个字母矩阵进行命名。

用来命名的字母字符串是由对应的字母矩阵从上往下读取每一行的字母组成的。

例如，对于矩阵：

     A B C D E
     F G H I J
     K L M N O
     P Q R S T
     U V W X Y
应该将其命名为 ABCDEFGHIJKLMNOPQRSTUVWXY。

将所有满足条件的字母矩阵对应的字符串按字典序排序，排在第一个的就是 ABCDEFGHIJKLMNOPQRSTUVWXY。

而排在第二个的是 ABCDEFGHIJKLMNOPQRSUTVWXY，它是由上述矩阵互换 U 和 T 的位置而形成的。

现在，请你计算，给定一个数字 M，排在第 M 个的字符串是什么。

给定一个有效字母矩阵对应的字符串，它应该排在第几个位置？

输入格式
第一行包含一个大写字母 N 或 W。

如果第一行包含大写字母 N，那么第二行包含一个整数 M。

如果第一行包含大写字母 W，那么第二行包含一个由 A∼Y 构成的字符串，表示一个有效的字母矩阵对应的字符串。

输出格式
如果输入文件的第一行包含大写字母 N，那么输出排在第 M 个的字符串。

如果输入文件的第一行包含大写字母 W，那么输出给定字符串的排名位置。

输入样例1：
N
2
输出样例1：
ABCDEFGHIJKLMNOPQRSUTVWXY
输入样例2：
W
ABCDEFGHIJKLMNOPQRSUTVWXY
输出样例2：
2
*/
int main()
{
    std::cout << "Hello World!\n";
}
 